#!/usr/bin/env bash

# ----------------------------------------------------------------------
# Filename:   secP-lib.sh
# Version:    1.0
# Date:       2021/03/30
# Author:     laiyixin
# Email:      laiyixin@kylinos.com.cn
# History：
#             Version 1.0, 2021/03/30
# Function:   定义用于安全加固的常用变量和函数
# ----------------------------------------------------------------------
readonly TPASS=0
readonly TFAIL=1
readonly TCONF=2

# 设置超时时间（单位：分钟）
readonly timeM=5
# 定义用户密码的最小长度
readonly MinLen=8
# 定义新密码中必须至少有几个字符要与旧密码不同
readonly difok=3
# 定义用户密码中必须至少包含多少个大写字母
readonly ucredit=2
# 定义用户密码中必须至少包含多少个小写字母
readonly lcredit=1
# 定义用户密码中必须至少包含多少个数字
readonly dcredit=4
# 定义用户密码中必须至少包含多少个特殊字符（除数字、字母之外）
readonly ocredit=1
# 普通用户锁定后，多少时间后解锁（单位：秒）
readonly unlockTime=60
# root用户锁定后，多少时间后解锁（单位：秒）
readonly unlockTimeRoot=60
# 密码最长使用期限
readonly maxdays=180
# 密码最短使用期限
readonly mindays=1
# 密码过期前提醒
readonly warnage=28
# ROOT账户UMASK值默认值
readonly umaskNum='022'
# 历史命令保留数目限制
readonly histsize=50
# 系统日志文件存放路径
readonly messageFile='/var/log/messages'
# 系统日志文件转储存放周期
readonly rotate=8

# 外部变量
export TPASS
export TFAIL
export TCONF

export timeM
export MinLen
export difok
export ucredit
export lcredit
export dcredit
export ocredit
export unlockTime
export unlockTimeRoot
export maxdays
export mindays
export warnage
export umaskNum
export histsize
export messageFile
export rotate
